package com.itheima.admin.service;

import com.itheima.model.admin.dtos.AdminCreateDto;
import com.itheima.model.admin.dtos.AdminUpdateDto;
import com.itheima.model.admin.dtos.AdminQueryDto;
import com.itheima.model.common.dtos.ResponseResult;

import java.util.List;

/**
 * 管理员管理服务接口
 * 
 * @author itheima
 */
public interface AdminManageService {

    /**
     * 分页查询管理员列表
     */
    ResponseResult listAdmins(AdminQueryDto dto);

    /**
     * 根据ID查询管理员详情
     */
    ResponseResult getAdminById(Integer id);

    /**
     * 创建管理员
     */
    ResponseResult createAdmin(AdminCreateDto dto);

    /**
     * 更新管理员信息
     */
    ResponseResult updateAdmin(Integer id, AdminUpdateDto dto);

    /**
     * 删除管理员
     */
    ResponseResult deleteAdmin(Integer id);

    /**
     * 启用/禁用管理员
     */
    ResponseResult toggleAdminStatus(Integer id, Integer status);

    /**
     * 重置管理员密码
     */
    ResponseResult resetPassword(Integer id, String newPassword);

    /**
     * 分配角色给管理员
     */
    ResponseResult assignRoles(Integer adminId, List<Integer> roleIds);
}

